\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{report_perso}[2008/10/23 Extension personnelle, V1.0]

%%%%%%%%%%%%%%%%
%% Extensions %%
%%%%%%%%%%%%%%%%
 
\RequirePackage[utf8]{inputenc} %% Encodage UTF-8
\RequirePackage[T1]{fontenc} %% Correspondance clavier -> document
\RequirePackage[frenchb]{babel} %% Typo française et accent
\RequirePackage{fancyhdr}  %% Gestion du style de page, en tête et pied de page
\RequirePackage{cite}  %% Permet la citation de bibliographie
\RequirePackage{graphicx}  %% Insertion des images
\RequirePackage{geometry}  %% Redimensionnement perso de la page
\RequirePackage{lastpage}  %%  Obtenir la dernière page
%\RequirePackage[version=3]{mhchem}  %%  Ecrire de la chimie
\RequirePackage{setspace}  %%  Pour l'interligne
\RequirePackage{float}  %%  Float
\RequirePackage[nottoc, notlof, notlot]{tocbibind}  %% Créer des entrées dans la toc pour la biblio
\RequirePackage{appendix}  %% annexes
\RequirePackage{pdfpages}  %% Insertion de pdf
\RequirePackage{listings}  %% Insertion de code source
\RequirePackage{subfig}
\RequirePackage{caption}
\RequirePackage{url}

\RequirePackage[babel]{csquotes}  %% Utilisation correct des guillemets
\MakeAutoQuote{«}{»}

%\RequirePackage[Lenny]{fncychap}  %% Chapitre personnalisé
%\RequirePackage{wrapfig}  %% Positionement des images
%\RequirePackage{eurosym}  %% Signe euro
%\RequirePackage{openbib}  %% Gestion avancée de la bibliographie
%\RequirePackage{minitoc}  %% Table des matières dans les chapitres
%\RequirePackage{makeidx}  %% Gestion de l'index
\RequirePackage{color}  %%  Couleur
\RequirePackage{listings}
\RequirePackage{framed}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Disposition de la page %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\geometry{a4paper,nohead}

%% Marges %%
\hoffset = 0cm  %% marge gche = 2.54cm + Xcm
\voffset = 0cm  %% marge haut = 2.54 cm + X cm

\oddsidemargin = 18pt  %%  espace entre marge gauche et corps
\marginparsep = 11pt  %% espace entre marge droite et corps
\marginparwidth = 54pt  %% marge à droite 

%% Corps %%
\textheight = 609pt  %% longueur du corps
\textwidth = 424pt  %% largeur du corps

%% Entête et pied de page %%
\headheight = 0pt  %% taille entete (18)
\footskip= 80pt  %% taille pied de page
\headsep = 0pt  %% espace entre entete et corps (25)
\topmargin = 0cm  %% espace entre marge haut et entete


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Mise en page des paragraphes %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\setlength{\parindent}{0pt}                          %% Indentation entre chaque paragraphe
%\lettrine[options]{lettrine}{texte}                  %% Commencer un paragraphe par une lettrine
%\hspace{longueur}                                    %% Definition de l'espacement horizontale entre les mots
%\vspace{longueur}                                    %% Definition de l'espacement verticale entre les lignes
%\stretch{n}                                          %% Production d'un espace élastique, à introduire comme longueur dans \vspace et \hspace
%\footnote{ceci est une note de bas de page.}
%\colorbox[gray]{0.9}{some words}                     %% colorier un paragraphe

\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}      %% Insert un espace verticale entre deux paragraphes
\onehalfspacing


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Personalisation entête et piede de page %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\pagestyle{fancy}

\lhead{}
\chead{}
\rhead{}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

%\pageref{LastPage}  %% Insertion du numéro de la dernière page

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Style de la numérotation des titres %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\renewcommand{\thechapter}{\Roman{chapter}.}
%\renewcommand{\thesection}{\arabic{section}.}
%\renewcommand{\thesubsection}{\Alph{subsection}.}
%\renewcommand{\thesubsubsection}{\alph{subsubsection}.}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Commandes personnelles %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\urlstyle{sf}
\lstset{language=Java,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left,keywordstyle=\color{red}}
\newcommand{\cit}{\emph} %% citation en italique
\newcommand{\gras}{\textbf} %% nom de programme en police teletype

\newcommand{\image}[3]  %% Commande d'insertion image + légende (ex. d'inclusion : /image{test}{Description de votre image}{0.7}
{
	\begin{figure}[H]
	\begin{center}
	\includegraphics[width=#3\textwidth]{img/#1.png}
	\caption{\textit{#2}}
	\label{img_#1}
	\end{center}
	\end{figure}
}
\newcommand{\subimage}[7]  %% Commande d'insertion image + légende (ex. d'inclusion : /image{test}{Description de votre image}{0.7}
{
	\begin{figure}[H]
	 \begin{center}
	   \leavevmode
	   \subfloat[#2]{\label{img_#1}\includegraphics[width=#3\textwidth]{img/#1}}
	   \hspace{2cm}
	   \subfloat[#5]{\label{img_#4}\includegraphics[width=#6\textwidth]{img/#4}}
	   \caption{#7}
	   \label{img_#1_#4}
	 \end{center}
	\end{figure}
}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Environnements personnelles %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Commande d'insertion d'une transition à la fin d'un chapitre %%
%\newenvironment{transition}{\section*{}}{\newpage}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Mise en page de l'insertion des codes sources %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\definecolor{gris_clair}{rgb}{0.9,0.9,0.9}

\lstset{% general command to set parameter(s)
	breaklines=true,
	backgroundcolor=\color{gris_clair},
	basicstyle=\small,          % print whole listing small
	commentstyle=\color{white}, % white comments
	stringstyle=\ttfamily,      % typewriter type for strings
	showstringspaces=false}     % no special string spaces
   


%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Mise en page de garde %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%

\makeatletter

% Une commande sembleble à \rlap ou \llap, mais centrant son argument
\def\clap#1{\hbox to 0pt{\hss #1\hss}}%
% Une commande centrant son contenu (à utiliser en mode vertical)
\def\ligne#1{%
  \hbox to \hsize{%
    \vbox{\centering #1}}}%
% Une comande qui met son premier argument à gauche, le second au 
% milieu et le dernier à droite, la première ligne ce chacune de ces
% trois boites coïncidant
\def\haut#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vtop{\raggedright #1}}%
    \hss
    \clap{\vtop{\centering #2}}%
    \hss
    \llap{\vtop{\raggedleft #3}}}}%
% Idem, mais cette fois-ci, c'est la dernière ligne
\def\bas#1#2#3{%
  \hbox to \hsize{%
    \rlap{\vbox{\raggedright #1}}%
    \hss
    \clap{\vbox{\centering #2}}%
    \hss
    \llap{\vbox{\raggedleft #3}}}}%
% La commande \maketitle
\def\maketitle{%
  \thispagestyle{empty}\vbox to \vsize{%
    \haut{\@location \\ \@date}{}{\@author}
    \vfill
    \vfill
    \ligne{\Huge \textbf \@title}
    \vfill
    \vfill
    \bas{\@blurb}{}{Responsable : Marie Beurton}
    }%
  \cleardoublepage
  }

% Les commandes permettant de définir la date, le lieu, etc.
\def\date#1{\def\@date{#1}}
\def\author#1{\def\@author{#1}}
\def\title#1{\def\@title{#1}}
\def\blurb#1{\def\@blurb{#1}}
\def\location#1{\def\@location{#1}}

\makeatother

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Mise en page de la table des matières %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\setcounter{tocdepth}{profondeur}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Mise en page des titres %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Style du titre "chapter" %%
\makeatletter
\def\@makechapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright \normalfont
    \interlinepenalty\@M
    \ifnum \c@secnumdepth >\m@ne
        \Huge\bfseries \thechapter .
    \fi
    \Huge \bfseries #1\par\nobreak
    \vskip 40\p@
  }}

\def\@makeschapterhead#1{%
  \vspace*{50\p@}%
  {\parindent \z@ \raggedright
    \normalfont
    \interlinepenalty\@M
    \Huge \bfseries  #1\par\nobreak
    \vskip 40\p@
  }}
\makeatother
